package com.easylinkin.linkappapi.analyze.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.analyze.entity.AnalyzeDateSource;
import com.easylinkin.linkappapi.analyze.entity.DdeviceVo;
import com.easylinkin.linkappapi.device.entity.Device;

import java.util.List;

/**
 * <p>
 * 数据源
 * </p>
 *
 * @author XuGuoQing
 * @since 2020-04-23
 */
public interface AnalyzeDateSourceService extends IService<AnalyzeDateSource> {


    boolean addAnalyzeDateSource(AnalyzeDateSource analyzeDateSource);

    boolean deleteAnalyzeDateSource(List<String> dateSourceIdlist);

    boolean updateAnalyzeDateSource(AnalyzeDateSource analyzeDateSource);

    AnalyzeDateSource getDateSourceById(AnalyzeDateSource analyzeDateSource);


    List<AnalyzeDateSource> getDateSourceList();

    List<AnalyzeDateSource> getDateSources(AnalyzeDateSource analyzeDateSource);

    IPage<AnalyzeDateSource> getPage(IPage page, AnalyzeDateSource analyzeDateSource);

    IPage<Device> getDeviceByDataSourceId(IPage page, DdeviceVo deviceVo);

    boolean addDeviceToDateSource(AnalyzeDateSource analyzeDateSource);

    boolean removeDeviceFromDateSource(AnalyzeDateSource analyzeDateSource);

    List<String> getExistedDeviceId(List<String> deviceIdList);

    List<String> getExistedDeviceCode(List<String> deviceIdList);

    boolean updateAnalyzeDateStatus(AnalyzeDateSource analyzeDateSource);
}
